package givenchy

class Iplog {
    String ip
    Date lastTime = new Date()
    int last = Integer.MAX_VALUE  // 最后出现的一次小时数, Integer.MAX_VALUE 从未出现过，>= 0 是出现的时间间隔 ,没有负数最小是0
    int ipcount = 0 // ip展示的数量
    int transientsCount = 0

    static transients = ['transientsCount']

    def onLoad() {
        transientsCount = ipcount // load的时候把当时的count纪录下来，sync同步的时候比较这两值，不同才save
    }

    // 同步 更新多的数据
	def sync = {
	    if(isChanged()){
	        synchronized (ipcount){
                transientsCount = ipcount 
                save(flush:true) 
		    }
	    }
	}
 
	private def isChanged = {
        //println transientsCount +"||"+ ipcount
	    transientsCount != ipcount
	}

    static constraints = {
    }
}

